Materi Mata Kuliah

00 jam 00 menit 00 detik

    Materi belum tersedia

00 jam 00 menit 00 detik

    Materi belum tersedia

00 jam 00 menit 00 detik

    Materi belum tersedia

00 jam 10 menit 00 detik

00 jam 00 menit 00 detik

    Materi belum tersedia

00 jam 00 menit 00 detik

    Materi belum tersedia

00 jam 00 menit 00 detik

    Materi belum tersedia

00 jam 00 menit 00 detik

    Materi belum tersedia

00 jam 00 menit 00 detik

    Materi belum tersedia

Praktik CRUD Database Menggunakan Migration dan Eloquent

Capaian Pembelajaran

Mahasiswa mampu membuat aplikasi CRUD sederhana menggunakan Laravel, migration, model, controller, dan Eloquent ORM untuk mengelola data database secara terstruktur.


Pendahuluan

CRUD adalah operasi dasar dalam pengolahan data pada aplikasi web.

CRUD terdiri dari:

  • Create → Menambah data
  • Read → Menampilkan data
  • Update → Mengubah data
  • Delete → Menghapus data

Pada Laravel, CRUD dapat dibuat menggunakan:

  • Migration
  • Model
  • Controller
  • Blade Template
  • Eloquent ORM

1. Membuat Tabel Database dengan Migration

A. Pengertian Migration

Migration digunakan untuk:

  • Membuat struktur tabel database menggunakan kode program.

B. Membuat Migration

Command:

 
php artisan make:migration create_mahasiswa_table
 

C. File Migration

Lokasi:

 
database/migrations/
 

D. Membuat Struktur Tabel

Edit file migration:

 
public function up(): void
{
Schema::create('mahasiswa', function (Blueprint $table) {

$table->id();
$table->string('nama');
$table->string('jurusan');
$table->integer('semester');
$table->timestamps();

});
}
 

E. Penjelasan Field

Field Fungsi
id() Primary key
string() VARCHAR
integer() Number
timestamps() created_at & updated_at

F. Menjalankan Migration

Command:

 
php artisan migrate
 

G. Hasil Migration

Laravel akan membuat tabel:

 
mahasiswa
 

pada database MySQL.


H. Fungsi Migration

Digunakan untuk:

  • Mengelola struktur database secara terorganisir.

2. Membuat Model dan Controller

A. Membuat Model dan Controller Sekaligus

Command:

 
php artisan make:model Mahasiswa -mc
 

Keterangan:

  • m → migration
  • c → controller

B. Lokasi Model

 
app/Models/Mahasiswa.php
 

C. Lokasi Controller

 
app/Http/Controllers/MahasiswaController.php
 

D. Konfigurasi Model

 
<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Mahasiswa extends Model
{
protected $table = 'mahasiswa';

protected $fillable = [
'nama',
'jurusan',
'semester'
];
}
 

E. Fungsi Fillable

Digunakan untuk:

  • Mengizinkan field tertentu disimpan ke database.

F. Membuat Method Controller

 
public function index()
{
return "Data Mahasiswa";
}
 

G. Membuat Route

Tambahkan pada:

 
routes/web.php
 

Kode:

 
use App\Http\Controllers\MahasiswaController;

Route::get('/mahasiswa', [MahasiswaController::class, 'index']);
 

H. Struktur MVC CRUD

 
Route

Controller

Model

Database

View
 

3. Menampilkan Data Database

A. Mengambil Data Menggunakan Eloquent

Controller:

 
use App\Models\Mahasiswa;

public function index()
{
$mahasiswa = Mahasiswa::all();

return view('mahasiswa.index', compact('mahasiswa'));
}
 

B. Membuat Folder View

Buat folder:

 
resources/views/mahasiswa/
 

C. Membuat View Index

File:

 
resources/views/mahasiswa/index.blade.php
 

D. Menampilkan Data

 
<h1>Data Mahasiswa</h1>

@foreach($mahasiswa as $m)

<p>{{ $m->nama }}</p>

@endforeach
 

E. Fungsi all()

 
all()
 

Digunakan untuk:

  • Mengambil seluruh data.

F. Menampilkan Data dalam Table

 
<table border="1">

<tr>
<th>Nama</th>
<th>Jurusan</th>
</tr>

@foreach($mahasiswa as $m)

<tr>
<td>{{ $m->nama }}</td>
<td>{{ $m->jurusan }}</td>
</tr>

@endforeach

</table>
 

G. Menjalankan Halaman

Buka browser:

 
http://127.0.0.1:8000/mahasiswa
 

H. Hasil

Data database tampil pada browser.


4. Menyimpan Data Menggunakan Eloquent

A. Membuat Form Input

File:

 
resources/views/mahasiswa/create.blade.php
 

Isi:

 
<form method="POST" action="/mahasiswa/store">

@csrf

<input type="text" name="nama" placeholder="Nama">

<input type="text" name="jurusan" placeholder="Jurusan">

<input type="number" name="semester" placeholder="Semester">

<button type="submit">Simpan</button>

</form>
 

B. Membuat Route Store

 
Route::post('/mahasiswa/store', [MahasiswaController::class, 'store']);
 

C. Method Store

Controller:

 
public function store(Request $request)
{
Mahasiswa::create([

'nama' => $request->nama,
'jurusan' => $request->jurusan,
'semester' => $request->semester

]);

return redirect('/mahasiswa');
}
 

D. Fungsi create()

Digunakan untuk:

  • Menyimpan data ke database.

E. Fungsi Request

 
Request $request
 

Digunakan untuk:

  • Mengambil data dari form.

F. Fungsi redirect()

Digunakan untuk:

  • Mengarahkan halaman setelah proses selesai.

G. Hasil Input

Data otomatis masuk ke database.


H. Keamanan CSRF

Gunakan:

 
@csrf
 

untuk keamanan form Laravel.


5. Membuat CRUD Sederhana Laravel

A. Struktur CRUD

Fitur Fungsi
Create Tambah data
Read Tampilkan data
Update Edit data
Delete Hapus data

B. Membuat Halaman Edit

Route:

 
Route::get('/mahasiswa/edit/{id}', [MahasiswaController::class, 'edit']);
 

C. Method Edit

 
public function edit($id)
{
$mahasiswa = Mahasiswa::find($id);

return view('mahasiswa.edit', compact('mahasiswa'));
}
 

D. Form Edit

 
<form method="POST" action="/mahasiswa/update/{{ $mahasiswa->id }}">

@csrf

<input type="text" name="nama" value="{{ $mahasiswa->nama }}">

<button type="submit">Update</button>

</form>
 

E. Route Update

 
Route::post('/mahasiswa/update/{id}', [MahasiswaController::class, 'update']);
 

F. Method Update

 
public function update(Request $request, $id)
{
$mahasiswa = Mahasiswa::find($id);

$mahasiswa->nama = $request->nama;

$mahasiswa->save();

return redirect('/mahasiswa');
}
 

G. Route Delete

 
Route::get('/mahasiswa/delete/{id}', [MahasiswaController::class, 'destroy']);
 

H. Method Delete

 
public function destroy($id)
{
$mahasiswa = Mahasiswa::find($id);

$mahasiswa->delete();

return redirect('/mahasiswa');
}
 

I. Alur CRUD Laravel

 
Form

Route

Controller

Model

Database
 

Praktikum

Praktikum 1 — Membuat Migration

 
php artisan make:migration create_mahasiswa_table
 

Praktikum 2 — Membuat Model dan Controller

 
php artisan make:model Mahasiswa -mc
 

Praktikum 3 — Menampilkan Data

 
$mahasiswa = Mahasiswa::all();
 

Praktikum 4 — Menambah Data

 
Mahasiswa::create([
'nama' => $request->nama
]);
 

Praktikum 5 — Update dan Delete

Gunakan:

  • save()
  • delete()

Tugas Praktikum

Tugas Individu

  1. Buat CRUD sederhana:
    • Mahasiswa
  2. Gunakan:
    • Migration
    • Model
    • Controller
    • Blade
    • Eloquent
  3. Buat fitur:
    • Tambah data
    • Tampilkan data
    • Edit data
    • Hapus data
  4. Screenshot:
    • Database
    • Form input
    • Data tampil
    • Edit data
    • Delete data
  5. Jelaskan:
    • Fungsi migration
    • Fungsi model
    • Fungsi controller
    • Fungsi Eloquent

Kesimpulan

Laravel menyediakan sistem CRUD yang terstruktur menggunakan migration, model, controller, Blade Template, dan Eloquent ORM. Dengan memahami praktik CRUD sederhana, mahasiswa dapat membangun aplikasi database Laravel yang dinamis, modern, dan sesuai standar pengembangan web profesional.


Report Error